{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "scikit中的决策树：CART"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "from sklearn import datasets\n",
    "X,y=datasets.make_moons(noise=0.25,random_state=666)\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plt.scatter(X[y==0,0],X[y==0,1])\n",
    "plt.scatter(X[y==1,0],X[y==1,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<style>#sk-container-id-1 {\n",
       "  /* Definition of color scheme common for light and dark mode */\n",
       "  --sklearn-color-text: black;\n",
       "  --sklearn-color-line: gray;\n",
       "  /* Definition of color scheme for unfitted estimators */\n",
       "  --sklearn-color-unfitted-level-0: #fff5e6;\n",
       "  --sklearn-color-unfitted-level-1: #f6e4d2;\n",
       "  --sklearn-color-unfitted-level-2: #ffe0b3;\n",
       "  --sklearn-color-unfitted-level-3: chocolate;\n",
       "  /* Definition of color scheme for fitted estimators */\n",
       "  --sklearn-color-fitted-level-0: #f0f8ff;\n",
       "  --sklearn-color-fitted-level-1: #d4ebff;\n",
       "  --sklearn-color-fitted-level-2: #b3dbfd;\n",
       "  --sklearn-color-fitted-level-3: cornflowerblue;\n",
       "\n",
       "  /* Specific color for light theme */\n",
       "  --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, white)));\n",
       "  --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, black)));\n",
       "  --sklearn-color-icon: #696969;\n",
       "\n",
       "  @media (prefers-color-scheme: dark) {\n",
       "    /* Redefinition of color scheme for dark theme */\n",
       "    --sklearn-color-text-on-default-background: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-background: var(--sg-background-color, var(--theme-background, var(--jp-layout-color0, #111)));\n",
       "    --sklearn-color-border-box: var(--sg-text-color, var(--theme-code-foreground, var(--jp-content-font-color1, white)));\n",
       "    --sklearn-color-icon: #878787;\n",
       "  }\n",
       "}\n",
       "\n",
       "#sk-container-id-1 {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 pre {\n",
       "  padding: 0;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-hidden--visually {\n",
       "  border: 0;\n",
       "  clip: rect(1px 1px 1px 1px);\n",
       "  clip: rect(1px, 1px, 1px, 1px);\n",
       "  height: 1px;\n",
       "  margin: -1px;\n",
       "  overflow: hidden;\n",
       "  padding: 0;\n",
       "  position: absolute;\n",
       "  width: 1px;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-dashed-wrapped {\n",
       "  border: 1px dashed var(--sklearn-color-line);\n",
       "  margin: 0 0.4em 0.5em 0.4em;\n",
       "  box-sizing: border-box;\n",
       "  padding-bottom: 0.4em;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-container {\n",
       "  /* jupyter's `normalize.less` sets `[hidden] { display: none; }`\n",
       "     but bootstrap.min.css set `[hidden] { display: none !important; }`\n",
       "     so we also need the `!important` here to be able to override the\n",
       "     default hidden behavior on the sphinx rendered scikit-learn.org.\n",
       "     See: https://github.com/scikit-learn/scikit-learn/issues/21755 */\n",
       "  display: inline-block !important;\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-text-repr-fallback {\n",
       "  display: none;\n",
       "}\n",
       "\n",
       "div.sk-parallel-item,\n",
       "div.sk-serial,\n",
       "div.sk-item {\n",
       "  /* draw centered vertical line to link estimators */\n",
       "  background-image: linear-gradient(var(--sklearn-color-text-on-default-background), var(--sklearn-color-text-on-default-background));\n",
       "  background-size: 2px 100%;\n",
       "  background-repeat: no-repeat;\n",
       "  background-position: center center;\n",
       "}\n",
       "\n",
       "/* Parallel-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item::after {\n",
       "  content: \"\";\n",
       "  width: 100%;\n",
       "  border-bottom: 2px solid var(--sklearn-color-text-on-default-background);\n",
       "  flex-grow: 1;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel {\n",
       "  display: flex;\n",
       "  align-items: stretch;\n",
       "  justify-content: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  position: relative;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:first-child::after {\n",
       "  align-self: flex-end;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:last-child::after {\n",
       "  align-self: flex-start;\n",
       "  width: 50%;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-parallel-item:only-child::after {\n",
       "  width: 0;\n",
       "}\n",
       "\n",
       "/* Serial-specific style estimator block */\n",
       "\n",
       "#sk-container-id-1 div.sk-serial {\n",
       "  display: flex;\n",
       "  flex-direction: column;\n",
       "  align-items: center;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  padding-right: 1em;\n",
       "  padding-left: 1em;\n",
       "}\n",
       "\n",
       "\n",
       "/* Toggleable style: style used for estimator/Pipeline/ColumnTransformer box that is\n",
       "clickable and can be expanded/collapsed.\n",
       "- Pipeline and ColumnTransformer use this feature and define the default style\n",
       "- Estimators will overwrite some part of the style using the `sk-estimator` class\n",
       "*/\n",
       "\n",
       "/* Pipeline and ColumnTransformer style (default) */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable {\n",
       "  /* Default theme specific background. It is overwritten whether we have a\n",
       "  specific estimator or a Pipeline/ColumnTransformer */\n",
       "  background-color: var(--sklearn-color-background);\n",
       "}\n",
       "\n",
       "/* Toggleable label */\n",
       "#sk-container-id-1 label.sk-toggleable__label {\n",
       "  cursor: pointer;\n",
       "  display: block;\n",
       "  width: 100%;\n",
       "  margin-bottom: 0;\n",
       "  padding: 0.5em;\n",
       "  box-sizing: border-box;\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:before {\n",
       "  /* Arrow on the left of the label */\n",
       "  content: \"▸\";\n",
       "  float: left;\n",
       "  margin-right: 0.25em;\n",
       "  color: var(--sklearn-color-icon);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 label.sk-toggleable__label-arrow:hover:before {\n",
       "  color: var(--sklearn-color-text);\n",
       "}\n",
       "\n",
       "/* Toggleable content - dropdown */\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content {\n",
       "  max-height: 0;\n",
       "  max-width: 0;\n",
       "  overflow: hidden;\n",
       "  text-align: left;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content pre {\n",
       "  margin: 0.2em;\n",
       "  border-radius: 0.25em;\n",
       "  color: var(--sklearn-color-text);\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-toggleable__content.fitted pre {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~div.sk-toggleable__content {\n",
       "  /* Expand drop-down */\n",
       "  max-height: 200px;\n",
       "  max-width: 100%;\n",
       "  overflow: auto;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 input.sk-toggleable__control:checked~label.sk-toggleable__label-arrow:before {\n",
       "  content: \"▾\";\n",
       "}\n",
       "\n",
       "/* Pipeline/ColumnTransformer-specific style */\n",
       "\n",
       "#sk-container-id-1 div.sk-label input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator-specific style */\n",
       "\n",
       "/* Colorize estimator box */\n",
       "#sk-container-id-1 div.sk-estimator input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted input.sk-toggleable__control:checked~label.sk-toggleable__label {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label label.sk-toggleable__label,\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  /* The background is the default theme color */\n",
       "  color: var(--sklearn-color-text-on-default-background);\n",
       "}\n",
       "\n",
       "/* On hover, darken the color of the background */\n",
       "#sk-container-id-1 div.sk-label:hover label.sk-toggleable__label {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "/* Label box, darken color on hover, fitted */\n",
       "#sk-container-id-1 div.sk-label.fitted:hover label.sk-toggleable__label.fitted {\n",
       "  color: var(--sklearn-color-text);\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Estimator label */\n",
       "\n",
       "#sk-container-id-1 div.sk-label label {\n",
       "  font-family: monospace;\n",
       "  font-weight: bold;\n",
       "  display: inline-block;\n",
       "  line-height: 1.2em;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-label-container {\n",
       "  text-align: center;\n",
       "}\n",
       "\n",
       "/* Estimator-specific */\n",
       "#sk-container-id-1 div.sk-estimator {\n",
       "  font-family: monospace;\n",
       "  border: 1px dotted var(--sklearn-color-border-box);\n",
       "  border-radius: 0.25em;\n",
       "  box-sizing: border-box;\n",
       "  margin-bottom: 0.5em;\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-0);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-0);\n",
       "}\n",
       "\n",
       "/* on hover */\n",
       "#sk-container-id-1 div.sk-estimator:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-2);\n",
       "}\n",
       "\n",
       "#sk-container-id-1 div.sk-estimator.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-2);\n",
       "}\n",
       "\n",
       "/* Specification for estimator info (e.g. \"i\" and \"?\") */\n",
       "\n",
       "/* Common style for \"i\" and \"?\" */\n",
       "\n",
       ".sk-estimator-doc-link,\n",
       "a:link.sk-estimator-doc-link,\n",
       "a:visited.sk-estimator-doc-link {\n",
       "  float: right;\n",
       "  font-size: smaller;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1em;\n",
       "  height: 1em;\n",
       "  width: 1em;\n",
       "  text-decoration: none !important;\n",
       "  margin-left: 1ex;\n",
       "  /* unfitted */\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted,\n",
       "a:link.sk-estimator-doc-link.fitted,\n",
       "a:visited.sk-estimator-doc-link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "div.sk-estimator:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link:hover,\n",
       ".sk-estimator-doc-link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "div.sk-estimator.fitted:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover,\n",
       "div.sk-label-container:hover .sk-estimator-doc-link.fitted:hover,\n",
       ".sk-estimator-doc-link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "/* Span, style for the box shown on hovering the info icon */\n",
       ".sk-estimator-doc-link span {\n",
       "  display: none;\n",
       "  z-index: 9999;\n",
       "  position: relative;\n",
       "  font-weight: normal;\n",
       "  right: .2ex;\n",
       "  padding: .5ex;\n",
       "  margin: .5ex;\n",
       "  width: min-content;\n",
       "  min-width: 20ex;\n",
       "  max-width: 50ex;\n",
       "  color: var(--sklearn-color-text);\n",
       "  box-shadow: 2pt 2pt 4pt #999;\n",
       "  /* unfitted */\n",
       "  background: var(--sklearn-color-unfitted-level-0);\n",
       "  border: .5pt solid var(--sklearn-color-unfitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link.fitted span {\n",
       "  /* fitted */\n",
       "  background: var(--sklearn-color-fitted-level-0);\n",
       "  border: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "\n",
       ".sk-estimator-doc-link:hover span {\n",
       "  display: block;\n",
       "}\n",
       "\n",
       "/* \"?\"-specific style due to the `<a>` HTML tag */\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link {\n",
       "  float: right;\n",
       "  font-size: 1rem;\n",
       "  line-height: 1em;\n",
       "  font-family: monospace;\n",
       "  background-color: var(--sklearn-color-background);\n",
       "  border-radius: 1rem;\n",
       "  height: 1rem;\n",
       "  width: 1rem;\n",
       "  text-decoration: none;\n",
       "  /* unfitted */\n",
       "  color: var(--sklearn-color-unfitted-level-1);\n",
       "  border: var(--sklearn-color-unfitted-level-1) 1pt solid;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted {\n",
       "  /* fitted */\n",
       "  border: var(--sklearn-color-fitted-level-1) 1pt solid;\n",
       "  color: var(--sklearn-color-fitted-level-1);\n",
       "}\n",
       "\n",
       "/* On hover */\n",
       "#sk-container-id-1 a.estimator_doc_link:hover {\n",
       "  /* unfitted */\n",
       "  background-color: var(--sklearn-color-unfitted-level-3);\n",
       "  color: var(--sklearn-color-background);\n",
       "  text-decoration: none;\n",
       "}\n",
       "\n",
       "#sk-container-id-1 a.estimator_doc_link.fitted:hover {\n",
       "  /* fitted */\n",
       "  background-color: var(--sklearn-color-fitted-level-3);\n",
       "}\n",
       "</style><div id=\"sk-container-id-1\" class=\"sk-top-container\"><div class=\"sk-text-repr-fallback\"><pre>DecisionTreeClassifier()</pre><b>In a Jupyter environment, please rerun this cell to show the HTML representation or trust the notebook. <br />On GitHub, the HTML representation is unable to render, please try loading this page with nbviewer.org.</b></div><div class=\"sk-container\" hidden><div class=\"sk-item\"><div class=\"sk-estimator fitted sk-toggleable\"><input class=\"sk-toggleable__control sk-hidden--visually\" id=\"sk-estimator-id-1\" type=\"checkbox\" checked><label for=\"sk-estimator-id-1\" class=\"sk-toggleable__label fitted sk-toggleable__label-arrow fitted\">&nbsp;&nbsp;DecisionTreeClassifier<a class=\"sk-estimator-doc-link fitted\" rel=\"noreferrer\" target=\"_blank\" href=\"https://scikit-learn.org/1.5/modules/generated/sklearn.tree.DecisionTreeClassifier.html\">?<span>Documentation for DecisionTreeClassifier</span></a><span class=\"sk-estimator-doc-link fitted\">i<span>Fitted</span></span></label><div class=\"sk-toggleable__content fitted\"><pre>DecisionTreeClassifier()</pre></div> </div></div></div></div>"
      ],
      "text/plain": [
       "DecisionTreeClassifier()"
      ]
     },
     "execution_count": 4,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn.tree import DecisionTreeClassifier\n",
    "\n",
    "de_clf=DecisionTreeClassifier()#不传参数，默认基尼系数，max_depth无限划分知道基尼系数为0\n",
    "de_clf.fit(X,y)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"决策边界绘制函数\"\"\"\n",
    "def plot_decision_boundary(model, axis):\n",
    "    x0, x1 = np.meshgrid(\n",
    "        np.linspace(axis[0], axis[1], int((axis[1]-axis[0])*100)).reshape(-1, 1),\n",
    "        np.linspace(axis[2], axis[3], int((axis[3]-axis[2])*100)).reshape(-1, 1)\n",
    "    )\n",
    "    X_new = np.c_[x0.ravel(), x1.ravel()]\n",
    "    y_predict = model.predict(X_new)\n",
    "    zz = y_predict.reshape(x0.shape)\n",
    "\n",
    "    from matplotlib.colors import ListedColormap\n",
    "    custom_cmap = ListedColormap(['#EF9A9A', '#FFF59D', '#90CAF9'])\n",
    "\n",
    "    plt.contourf(x0, x1, zz,cmap=custom_cmap)\n",
    "    "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "plot_decision_boundary(de_clf,axis=[-1.5,2.5,-1.0,1.5])\n",
    "plt.scatter(X[y==0,0],X[y==0,1])\n",
    "plt.scatter(X[y==1,0],X[y==1,1])\n",
    "plt.show()#过拟合情况"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "传入一些参数，避免过拟合"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "#调整参数在过拟合和欠拟合之间\n",
    "dt_clf2=DecisionTreeClassifier(max_depth=2)\n",
    "dt_clf2.fit(X,y)\n",
    "plot_decision_boundary(dt_clf2,axis=[-1.5,2.5,-1.0,1.5])\n",
    "plt.scatter(X[y==0,0],X[y==0,1])\n",
    "plt.scatter(X[y==1,0],X[y==1,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"\n",
    "min_samples_split调的越高越不容易过拟合，但太高可能欠拟合\n",
    "\"\"\"\n",
    "dt_clf3=DecisionTreeClassifier(min_samples_split=10)#对于一个节点来说，至少要有多少的数据，才继续拆分下去\n",
    "dt_clf3.fit(X,y)\n",
    "plot_decision_boundary(dt_clf3,axis=[-1.5,2.5,-1.0,1.5])\n",
    "plt.scatter(X[y==0,0],X[y==0,1])\n",
    "plt.scatter(X[y==1,0],X[y==1,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjoAAAGiCAYAAADulWxzAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABB8ElEQVR4nO3de3RU9b3//9dOgEwgJBBDrkUEVCiKULwA2iX0C6eI0CWrpx61noraYnWV/rRoLaxarVYXR0qrbY/90tZj0db29KbYg9Z+NQouKaCCVCpI5XIAQxLklgsmAWY+vz/iDLlMkslk79m352OtrMUMe5LPzmTPvOfzeb/fH8sYYwQAABBAWW4PAAAAwCkEOgAAILAIdAAAQGAR6AAAgMAi0AEAAIFFoAMAAAKLQAcAAAQWgQ4AAAgsAh0AABBYBDoAACCwHA10XnvtNX3uc59TeXm5LMvSqlWruj1+zZo1siyr01dNTY2TwwQAAAHlaKBz/PhxTZgwQY899livHrdjxw5VV1cnvoqLix0aIQAACLJ+Tn7z2bNna/bs2b1+XHFxsYYMGWL/gAAAQKg4Guika+LEiWppadH555+v7373u7rsssu6PLalpUUtLS2J27FYTEeOHNEZZ5why7IyMVwAANBHxhg1NDSovLxcWVn2LTh5KtApKyvTihUrdNFFF6mlpUWPP/64pk+fro0bN2rSpElJH7N06VLdf//9GR4pAABwwv79+/WJT3zCtu9nGWOMbd+tux9kWXr22Wc1b968Xj1u2rRpOvPMM/WrX/0q6f93nNGpq6vTmWeeqX88/LAGRyJ9GTIAAMiQhuZmnf+tb+nYsWMqKCiw7ft6akYnmUsuuUSvv/56l/+fk5OjnJycTvcPjkSUn5vr5NAAAIDN7E478XwfnS1btqisrMztYQAAAB9ydEansbFRO3fuTNzes2ePtmzZosLCQp155plasmSJqqqq9NRTT0mSHn30UY0cOVLnnXeempub9fjjj+uVV17R//t//8/JYQIAgIByNNB566239JnPfCZxe9GiRZKk+fPna+XKlaqurta+ffsS/3/ixAndeeedqqqq0sCBA3XBBRfo5Zdfbvc9AAAAUpWxZORMqa+vV0FBgfb+6Efk6AAA4BP1TU0acfvtqqurU35+vm3f1/M5OgAAAOki0AEAAIFFoAMAAAKLQAcAAASW5xsGAm6KGmlz8wAdOpWton5RTYqcUDZbqAGAbxDowLPcDjIqGyNadqhAtdHsxH0l2VHdXVSnGXnNmRsIACBtBDrwJLeDjMrGiO6qHaqOvRcORrN0V+1QLddRgh0A8AFydOA58SCjNtr+zzMeZFQ2OrtZa9RIyw4VfBzktJ9CMh/fXnYoX9FAdaACgGAi0IGneCHI2Nw84OOZpOTrZEaWaqP9tLl5gHODAADYgkAHnuKFIOPQqeyeD+rFcQAA9xDowFO8EGQU9YvaehwAwD0EOvAULwQZkyInVJIdldUpFbmVJaOS7FOaFDnh2BgAAPYg0IGneCHIyLaku4vqEj+v48+XpLuL6umnAwA+QKADT/FKkDEjr1nLS46qODvW7v7i7KiWl1BaDgB+QR8deM6MvGYt19FOfXSKs6O6u6g+Y0HGjLxmTR/UTGdkAPAxAh14kleCjGxLujiXXBwA8CsCHXgWQQYAoK/I0QEAAIFFoAMAAAKLQAcAAAQWgQ4AAAgsAh0AABBYBDoAACCwCHQAAEBgEegAAIDAItABAACBRaADAAACi0AHAAAEFoEOAAAILAIdAAAQWAQ6AAAgsAh0AABAYBHoAACAwCLQAQAAgdXP7QEAfRE10ubmATp0KltF/aKaFDmhbMvtUQEAvIJAB75V2RjRskMFqo1mJ+4ryY7q7qI6zchrdnFkAACvYOkKvlTZGNFdtUNVG23/J3wwmqW7aoeqsjHi0sgAAF5CoAPfiRpp2aECGUlS+3Uq8/HtZYfyFTUZHxoAwGMIdOA7m5sHfLxclTwZx8hSbbSfNjcPyOzAAACeQ6AD3zl0Krvng3pxHAAguAh04DtF/aK2HgcACC4CHfjOpMgJlWRHZSl5Eo4lo5LsU5oUOZHhkQEAvIZAB76TbUl3F9VJUqdgJ3777qJ6+ukAAAh04E8z8pq1vOSoirNj7e4vzo5qeclR+uggUKJGerNpgP7SkKs3mwZQUQj0Ag0D4Vsz8po1fVAznZERaDTGBPqGQAe+lm1JF+eSi4NgijfG7DiBE2+MuVzMXgI9YekKADyIxpiAPQh0AMCDaIwJ2INABwA8iMaYgD3I0QGQVNSIRG8X0RgTsAeBDoBOqPRxX7wx5sFoViInpy1LRsXZURpjAj1g6QpAO/FKn9po+5eHeKVPZWPEpZGFC40xAXsQ6ABIoNLHW2iMCfQdS1cAEk5X+iTXttKnq/5F5PbYi8aYQN8Q6ABI6Gulj9dye4ISdNEYE0gfgQ7QS0F580ymL5U+dnXxtev367WgC4A7CHSAXgj6m2e6lT495fZYMlp2KF/TBzV3G7TY9ftl6wQAcSQjAykKQzVSupU+dnTxtev3S0I1gLYIdIAUhOnNM51Kn77m9tj5+2XrBABtsXSF0OpNLogd1Uh+0ttKn7528bXz98vWCQDaItBBKPU2FySMb569qfTpaxdfO3+/bJ0AoC2WrhA66eSC8ObZvb528bXz9xsPujqOo+14SrJPsXUCEBIEOgiVdHNBePPsWV+6+Nr5+2XrBABtORrovPbaa/rc5z6n8vJyWZalVatW9fiYNWvWaNKkScrJydHZZ5+tlStXOjlEhEy6iaq8eaZmRl6zXhhRq1+UH9LS4qP6RfkhvTDiYI+l3Hb/ftk6AUCcozk6x48f14QJE3TzzTfr85//fI/H79mzR3PmzNGtt96qp59+WpWVlfrKV76isrIyzZo1y8mhIiT6kgsyI69Zy3W0U25PcXZUdxfV8+b5sXS7+Nr9+2XrBACSw4HO7NmzNXv27JSPX7FihUaOHKkf/OAHkqRPfvKTev311/XII48Q6MAWfc0F6erNU5LebOINta/sDk7YOgGAp6qu1q9fr5kzZ7a7b9asWbrjjju6fExLS4taWloSt+vr650aHgKgr9VBUuc3z6B3S840ghMAdvJUMnJNTY1KSkra3VdSUqL6+no1NTUlfczSpUtVUFCQ+Bo+fHgmhgqfsjsXJAzdkgHAzzwV6KRjyZIlqqurS3zt37/f7SHB4+xKVA1Tt+Qgi5rWZce/NOTqzaYBPF9AwHhq6aq0tFS1tbXt7qutrVV+fr5yc3OTPiYnJ0c5OTmZGB4CxI5ckLB1Sw4ilh2B4PNUoDN16lS98MIL7e576aWXNHXqVJdGhCDray5IGLslBwk7nAPh4OjSVWNjo7Zs2aItW7ZIai0f37Jli/bt2yepddnphhtuSBx/6623avfu3br77rv13nvv6ac//al+//vf6xvf+IaTw4SNwrQMQLdk//LCsmOYrhXATY7O6Lz11lv6zGc+k7i9aNEiSdL8+fO1cuVKVVdXJ4IeSRo5cqSef/55feMb39CPfvQjfeITn9Djjz9OablPhG0ZwI4KLrjD7WXHsF0rgJscDXSmT58uY7r+mJKs6/H06dP19ttvOzgqOCGMywDxCq67aofKkmkX7NAt2dvcXHYM47UCuMn3VVdwnxeWAdzCVgP+5NayY5ivFcAtnkpGhj+5vQzgNrYa8B+3lh3Dfq0AbiDQQZ9RfUQ3X79xa9mRawXIPJau0GdUH8GP3Fh25FoBMo8ZHfQZ1Ufwq0wvO3KtAJnHjA76zO79o7yGfifBFl92nD24SRfnOptbFfRrBfAiZnRgixl5zVquo516gxRnR3V3Ub1vq4+S9Tspy4/qvlkNuuKTLS6OzF+OPc1STFxQrxXAqwh0YJugVR911e+kuj5bt/5hiOZOuUDnVJS4Mja/ma8n3R6CpwTtWgG8jEAHtnKr+ihqZOubRnf9TuLW/H2HRpcXK8vi3Qm9R6UekBkEOvA9J9rp99TvRJIam1pUdeiohg8rTOtnBIVloio/skGDmmt1PFKiA4VTZCzKo11jYup3YresaINM9mCdGjBKskjHRHgR6MDXnGqnn2ofk+PN4c7TGV29WtO2fVuDmw8k7muIlGvtuIe0q2yuiyPLPLtnFdPRv2mrco+tUlasLnFfLKtATUPm6WTu+MwOBvAIwnz4lpPt9FPtYzIoktP7bx4Qo6tXa87mm5XXJsiRpLzmas3ZfLNGV692aWSZV9kY0ZV7S7TgQJGWHByqBQeKdOXeElU2RjI2hv5NWzXwyJOy2gQ5kmTF6jTwyJPq37Q1Y2MBvIRAB751enkp+cfmtu30eyve76RjCXBbebk5qiga2uvvHQSWiWratm9LSbrBxH9n07bdI8sEv9oqPqtYG23/chqfVcxIsGNiyj22SlLnqyF+O7fuOcnEBIQNgQ58y8l2+t31O4mbPmFMaBORy49s0ODmA12EmK2/s8HNVSo/siGj48o0r2zS2e/EbmXF6rp5PqSs6DH1O7Hb2YEAHkSgEzJBan7ndDv9rrYIyMvNCX1p+aDmWluP8ysnZxV7w4o22HocECQkI4eIE9VJbspEO/14v5N/fjqip967XIMirctVYZ3JiTseSS3IS/U4v/LKJp0me7CtxwFBwoxOSHgij8BmmWqnn21JU886qbHDyzR8WGHogxxJOlA4RQ2R8qQBptQ6k9EQqdCBwikZHllmeWWTzlMDRimWVdBlRpmRFMse0lpqDoQMgU4IeCWPwAlu7EANyVjZWjvuodZ/d/E3tXbcg4Hvp9NT0rolo5LsU85v0mllqWnIPEnqNJL47aaCq+ing1Bi6SoEemp+1zaPwI+dWmmn745dZXP1/KQnOvXRaYyUa+24B0PRRyc+q3hX7VBZMu2Cvkxv0nkyd7w+Kpyv3GOr2pWYm+whaiq4ij46yAwPNqwk0AkBr+QROIl2+u54v3SO1mZPVtnh9Sq2jimnaJSqz5ga+Jmctry0SefJ3PE6GTnPc280CAevNqwk0AkBr+QRIFjer6rVmr/vUGNTi6RcSbnKy41p+oRDoatI89SsopWlUzlnu/CDEWbxhpUdxRtWflQ437VghzA/BDyTR+CSIJXUe8X7VbVaveGdj4Oc0xqbWrR6wzt6vyrYZeXJxGcVZw9u0sW5LJ0iRDzesJIZnYDpar8dr+QRZFrQSuq9IGaM1vx9R7fHdLezuxf2hAJgn3jDyq5YkqyPG1a6MdtIoBMgPb2peyWPIFOc2vAz7KoOHe00k9NRVzu7BznwJIBDWHm9YSWBTkCk+qbumTwCh/VUUm/JaNmhfE0f1BzI83dSqju2dzwuyIFnkAM4oCdeb1hJjk4A9KZPTljyCLzSmj+IUt2xve1xQe7lFMRmnEBveL1hJYFOAPCm3pmTJfUxY7T/wyN6b3+19n94RDHjw3fnPqgoGqq83O6DnY47uwf1bzTIARyQMo83rGTpKgDC0Cent5wqqW9fUt0qLzdH0yeM8VRJdcwYVR06quPNLbbvz5VlWZo+YYxWb3iny2M67uwe1L/RoDfjBFLl5YaVBDoBQJ+czpzY8DNeUt1RvKTaKzuaZyIYO6eiRHOnXJDyzwnq32hQAzjYxINdgp3k1YaVBDoBkIldvP3G7pL6aEx9KqnOlEwGY+dUlGh0eXFKM0dB/RsNagCHvvNql2DHebBhZXBDyxDJ1C7efmPnhp9v7Oufckm1W1Ltb2NnTlGWZWn4sMIed3YP6t9o2JtxIrl4l2CrQ2+ZeJfg/k1bXRpZOBHoBAS7eCc3I69ZL4yo1S/KD2lp8VH9ovyQXhhxsNe/j4ONqS09pFp67YTe9LdxQxD/RoMawKEPPN4lOIxYugqQMPXJ6Q07Nvwszktt6SHV0msnpNvfJpOC+Dcaxmac6JrXuwSHEYFOwLCLtzMuOfOk8nJzup0x6VhSnWnp9LeBPYIYwCE9Xu8SHEYEOkAKsrPU65LqTIv3t/FyMBbkDsJ8yIDk/S7BYUSODpCieEl1x2Z5ebk5nigtj/e36Y6bwRgdhBEGXu8SHEbM6AC90JuSajf0tr9NprD3GELj4y7BA488KaP2f+1e6BIcRgQ6QC/FS6q9yovBGB2EESZe7hIcRgQ6QAB5LRijgzDCxqtdgsOIQAeA4+zuIBw1osIJ3ufBLsFhRKADwHF2bgER5MotAPZjDg2A4+zqIEzlFoDeItABPMAyUVUcXqdzq55RxeF1skzwNoHs6xYQPVVuSdKyQ/mK2reVF4AAYOkKcNno6tWatu3bGtx8IHFfQ6Rca8c9pF1lc10cmf360kGYyi0A6SDQQTskeWbW6OrVmrP5ZqnDck5ec7XmbL5Zz096InDBTrodhKncApAOAh0kkOSZWZaJatq2b0tJ0nMtGRlZmrbtHu0unS1j8eZtd+UWgHAgRweSSPJ0Q/mRDRrcfCBJDVIrS0aDm6tUfmRDRsflVfHKrY7JzHGWjEqyT6VUuQUgPAh0QJKnSwY119p6XNDZVbkFIFwIdNAmyTP5O0TbJE/Y53gktX2nUj0uDPpauQUgfMjRAUmeLjlQOEUNkXLlNVcnXY4xstQYKdeBwikujM67uqrckqQ3m0ikB9AegQ5I8nSJsbK1dtxDmrP55sQO3on/+3h2be24B0lETqJj5RaJ9AC6wtIVSPLMgK4aAu4qm6vnJz2hxkhZu+MbI+WBLC13Aon0ALrDjA4SSZ531Q5NlDXHkeTZdz01BNxVNle7S2er/MgGDWqu1fFIiQ4UTmEmJwU9JdJbMlp2KF/TBzXz9wuEFDM6kOT/JM+oac3P+EtDrt5sGuCZCrF4Q8C8NkGOdLoh4Ojq1ZJal7GqzrhM/6z4vKrOuIwgJ0Uk0gPoCTM6SOhLe343eTU/g4aAziORHkBPCHQCxI7tG9Jtz++WeH5GxwmceH7Gcrk3GxVvCNiVtg0Bq864LIMjCw4S6QH0hEAnILw6q+Ekr+dn0BDQefFE+oPRrCTzZq3BZHF2lER6IMTI0QmAsFadeD0/g4aAzqNbMoCeEOj4XJi3b/B6fka8IWCymQap9flpiFTQELCP/J5ID8BZLF15UG9ybU7PaiTXdlbDT7k3qfB6fgYNATPHr4n0kj25dQC6RqDjMb3NtfH6rIaT/JCfEW8I2LGPTmOkXGvHPUhDQBv5LZFeCmduHZBpBDoekk4FkddnNZzkl0aHNAREMl6uGASChBwdj0g31ybs2zf4JT+DhoBoK8y5dUCmZSTQeeyxx3TWWWcpEolo8uTJeuONN7o8duXKlbIsq91XJBLMqqG20q0gouqkNdh5YUStflF+SEuLj+oX5Yf0woiDnglygI68XjEIBInjgc7vfvc7LVq0SPfdd582b96sCRMmaNasWTp48GCXj8nPz1d1dXXia+/evU4P03V9ybXxy6yGk+L5GbMHN+niXJI54W1hzq0DMs3xHJ0f/vCHWrBggW666SZJ0ooVK/T888/riSee0OLFi5M+xrIslZaWOj00T+lrro2fq06AsAlzbh2QaY7O6Jw4cUKbNm3SzJkzT//ArCzNnDlT69ev7/JxjY2NGjFihIYPH66rrrpK7777bpfHtrS0qL6+vt2X3TKxYaQduTbMagD+0NP1LhnlW1HFjMjTAfrI0UDn0KFDikajKilp3/m1pKRENTU1SR8zZswYPfHEE3ruuef061//WrFYTJdeeqk++OCDpMcvXbpUBQUFia/hw4fbeg6VjRFdubdECw4UacnBoVpwoEhX7i2xvdswuTZAeHR3vUtGkqV6k62vVjvzegOEieeqrqZOnaobbrhBEydO1LRp0/TMM89o2LBh+tnPfpb0+CVLlqiuri7xtX//ftvGkumtFci1AcKjq+u9o6Bv5QI4zdEcnaKiImVnZ6u2tv2mhbW1tSnn4PTv31+f+tSntHPnzqT/n5OTo5ycnD6PtSO3Nowk1wYIj/j1/lbTAN1dW6i6mCUvblAL+JmjMzoDBgzQhRdeqMrKysR9sVhMlZWVmjp1akrfIxqNauvWrSorK3NqmEm5Wf5Jrg0QHtmWlGVJdbEsUW4O2M/xqqtFixZp/vz5uuiii3TJJZfo0Ucf1fHjxxNVWDfccIMqKiq0dOlSSdIDDzygKVOm6Oyzz9axY8f0/e9/X3v37tVXvvIVp4faDuWfADKF1xvAOY4HOtdcc40+/PBD3XvvvaqpqdHEiRP14osvJhKU9+3bp6ys0xNLR48e1YIFC1RTU6OhQ4fqwgsv1N/+9jeNGzfO6aG2Q/kngEzh9QZwTkb2ulq4cKEWLlyY9P/WrFnT7vYjjzyiRx55JAOj6p4fNowEEAy83gDO8VzVlVdQ7o12YjFVHF6nc6ueUcXhdbIMn6xhH15vAOewe3k3ZuQ1a7mOatmhgo8Tk1sVZ0d1d1G97eXeUSOqrTyof9NW6Wer9IWGusR9DZFyrR33kHaVzXVxZAiSTL/eAGFBoNODTJV7VzZGOr3AlWRHdXdRHS9wLurftFUDjzzZ6f685mrN2Xyznp/0BMEObGP36w0fngACnZTEy72dEm9M2LE/arxR2HLRLNAVJqbcY6uS/pclIyNL07bdo92ls2UsqmFgD7teb/jwBLQiR8dlPTUmlKRlh/LZ78YF/U7sVlasrovOJq3BzuDmKpUf2ZDRcQE9yXRXd8DLCHRc5mZjQnTPijakdNyg5tqeD0KoZWJj4LY/iw9PwGksXbmMRmHeZbIHp3Tc8UhJzwchtCobI3r4wwIdjLVJMM6K6lvDnFlCOv3hKbm2H56cXJIHvIIZHZfRKMy7Tg0YpVhWQafcqTgjSw2RCh0onJLRccE/KhsjurN2qA7GOiwhxbJ0p0NLSHx4Atoj0HFB22nsmGn9dNexd0acJaOS7FM0CnODlaWmIfOS/ld8CWDtuAdJREZSUSM98GHBx7c6Lk233n7gwwLbl5D48AS0x9JVhiWrhCjIisrodCVPHI3C3Hcyd7w+KpyvQSdXSW366DRGyrV23IOUlqNLbzUNUF2suyDYUl0sW281DdDkgfZ9kKHLMtAegU4GdVVGXv/xtHZ+VqzdCyONwrzhZO546eYL9MfXR2tQc62OR0p0oHAKMzno1ltNOSkfZ2egE++yfFftUD48ASLQyZieKiEsGUUso2Vlh3QkSnMvz8nKUtUZl7k9CviI6TK7K73jeoMuy8BpBDoZkmolRJYlzR7clMGRAXDCxbkn9Pix1I5zQqa6ugNeR6CTIVRCAOFyUe4JFWRFVRfLUvI+WUZDsmK6yMESb6e7ugN+QNVVhlAJAYRLtiXdOyyewN5xear19neG1THDAjiMQCdD4pUQlJED4TEjr1k/KDmq4uxYu/tLsqP6QYkP97AzMfVr2an+H72tfi07JRPr+TGAy1i6ypBMVUKwWzHgLUHJlenftFW5x1YpK3a6zUIsq0BNQ+a1ViYCHkWgk0FOV0KwWzHgTX7PlenftFUDjzzZ6X4rVqeBR57UR4XzCXbgWQQ6GebUp7uuevTEdyteLh9OkwNwn4kp99gqScn7OxtJuXXP6WTkPMkiGwLeQ6DjArs/3aXSo2fZoXxNH9Tsu+lyZI5loio/soGmiGin34nd7ZarOrIkWdFj6ndit07lnJ25gQEpItDpgp9yXditGH01unq1pm37tgY3H0jc1xAp19pxD7HNRchZ0QZbjwMyjUAnCb/lutCjB30xunq15my+WR1LoPOaqzVn8816ftITKQU7zAgFk8kebOtxQKYR6HTgx1wXevQgXZaJatq2b0tJtn+MVwdO23aPdpfO7jZoYUYouE4NGKVYVoGsWF0XbQ8lkz1EpwaMyvTQUuKn2Xk4g8yxNnrKdZGkZYfyFbV/a5o+oUcP0lV+ZIMGNx9I+gYmtf7tDG6uUvmRDV1+j/iMUF6bIEc6PSM0unq1jSNGxllZahoyT1JXbQ+lpoKrPJmIXNkY0ZV7S7TgQJGWHByqBQeKdOXeElU2RtweGjLIe3+ZLjqd65L8Zb9trouXxHv0SOoU7LBbMbozqLm2T8f1NCMkSdO23UNjOZ97MXqxFp/6/1RtCtvd32QN8WxpeXx2vjba/m0uPjtPsBMeLF214edcF3YrRjqOR0r6dFx8Rqgr8RmhRipyfOv0cv5k/eHUJbok6z0V65gOqkBvxsZqWX6dZshbry9UoqItAp02/J7rEpQOrMicA4VT1BApV15zddKlTyNLjZFyHSickvTxqc4IUZHjTx0DhpgsbYiNS/y/VwMGKlHRFktXbQQh1yXeo2f24CZdnEuQg+4ZK1trxz3U+u8u8tLWjnuwy0TkVGeEqMjxJ78u5/t5dh72I9Bpg1wXhNGusrl6ftITaoyUtbu/MVLeY2l5fEaoc4ZOKyNLDZEKz1bkoHt+DRj8PjsPe7F01QG5LgijXWVztbt0dq/74MRnhOZsvjmR+5D4vzYzQp+uPezo+OEMvwYM8dn5g9GspEG4JaPi7KinZ+dhHwKdJMh1QRgZK1tVZ1zW68fFZ4Q69tFpjJRr7bgHtatsrj5d23lDSHifXwOG+Oz8XbVDE/2g4pidDx8CnS74fbdhIJPSnRGCt/k5YGB2HnEEOgBske6MELxt+qBm3Tq0Qb+py1Nd7HRE44eAgdl5SAQ6AIAuJNv3L9+K6fohjfrK0EZfBAzMzrdhYup3YresaINM9uDWIgEPdrS2G4EOAKCTrvb9azCWVhwdrLMHnPL0bA7a69+0VbnHVikrVpe4L5ZVoKYh8zzZ2dpOwQ/lAAC94td9/wLFxNSvZaf6f/S2+rXs7NM2Kv2btmrgkSdltQlyJMmK1WngkSfVv2lrX0fraYGd0Rnyb9nKzycREvb40bv/7vYQfG3I9VyLfrL+f/urdnfPnYX/+emIpp51MoMjC4l/viNVPiM1tAlMBhdIMz4vnXtB775XLCb9bFXS/4qHsINOPifdfIGU5e7cR1Z9tnS7/d83sIHO/91+jSJ5+W4PA4AIFP3mvf3Vkv7R43FPvXe53jhe1uNxSN3o6tWas3mlOvYqNw310qqVPTbx7Kji8Dp9oaGu+4MajumPr492vZigubFe0kLbvy9LVwCAdgZFcmw9DqmxTFTTtn1bnTdkOV3OP23bPbJM6g0aU92PLtXj/IhABwDQTkXRUOXldh/E5OXmqKJoaIZGFA7lRzZocPOBLjZUaQ12BjdXqfzIhpS/Z6r70aV6nB8R6AAA2smyLE2fMKbbY6ZPGKMsywf15T7ixOxLqvvRHSickvL39BsCHQBAJ+dUlGjulAs6zezk5eZo7pQLdE5FcGcA3OLE7Et8Pzqp84JY2/3ogtzFPLDJyACAvjmnokSjy4tVdeiojje3aFCkdbmKmRxnxGdf8pqr222QG2dkqTFS3uvZl1T2owsyAh0AQJeyLEvDhxW6PYxQiM++zNl8s4ysdsFOX2dfwrwfHYEOAAAe4eTsS1j3oyPQAQDAJZaJdpplCfPsixMIdAAAcMHo6tWdZm4aIuVaO+4h7SqbG8rZFydQdQUAQIa1dkC+WXltghxJymuu1pzNN2t09WqXRhY8BDoAAGSQEx2Q0TUCHQAAMsiJDsjoGjk6gI8kS1wkQRHwF/afyiwCHYRCEAKEnhIXAfgD+09lFoEOuhUzxvddUYMQIMQTF9WhW2o8cfH5SU/45lzCKAjXEezjVAdkJEeggy69X1WrNX/focamlsR9ebk5mj5hjG/2uQlCgNBT4qKRpWnb7tHu0tm+m6UKgyBcR7CXkx2Q0RnJyEjq/apard7wTrsXZ0lqbGrR6g3v6P0q768dB6WygcRF/wrCdQRnxDsgN0bK2t3fGCl39AOYZaKqOLxO51Y9o4rD6zz/+mcHZnTQScwYrfn7jm6PWfP3HRpdXuzp6fd4gNCVtgGClxtzkbjoT0G5juCcTHdADsIyfjqY0UEnVYeOdvoE2lFjU4uqDh3N0IjSE5QAgcRFfwrKdQRnxfef+mfF51V1xmWOBjlhbVBIoINOjjd3/+Lc2+PcEpQAIZ642HkBrpWRpYZIBYmLHhOU6wj+F5Rl/HQR6KCTQZEcW49zS1AChHjiotT5ZYrERe8KynUE/wt7nh+BDjqpKBqqvNzuX3zzcltLZL0sSAGCW4mLSF9QriP4X1CW8dNFMjI6ybIsTZ8wRqs3vNPlMdMnjPFFAmU8QOiYgNcYKdfacQ/6KkDIdOIi+iZI1xH8LSjL+Oki0EFS51SUaO6UCwLR/yNIAUI8cRH+EKTrCP4V9gaFBDro0jkVJRpdXhyIjq4ECHBLkK4j+FPYGxRmJEfnscce01lnnaVIJKLJkyfrjTfe6Pb4P/zhDxo7dqwikYjGjx+vF154IRPDRBJZlqXhwwo1dniZhg8rtOXFOWaM9n94RO/tr9b+D48oZjp/wgCCxInryA5hbB4XVmHO83N8Rud3v/udFi1apBUrVmjy5Ml69NFHNWvWLO3YsUPFxcWdjv/b3/6m6667TkuXLtXcuXP1m9/8RvPmzdPmzZt1/vnnOz1cOIx2+IA3hLV5XJgFaRm/NyxjnP04PXnyZF188cX6z//8T0lSLBbT8OHD9fWvf12LFy/udPw111yj48ePa/Xq082LpkyZookTJ2rFihWdjm9paVFLy+k3zfr6eg0fPlz/8cqHiuTlO3BGSFe8HX5X5k65gGAHoWCZqKtvNm33gGs7txS/FfRP+PCm5sZ6Lf4/w1RXV6f8fPvevx1dujpx4oQ2bdqkmTNnnv6BWVmaOXOm1q9fn/Qx69evb3e8JM2aNavL45cuXaqCgoLE1/Dhw+07Adgm1Xb4LGMh6EZXr9ZNr0zSFzbM0+wtX9UXNszTTa9Mylhn2rA3j0P4OBroHDp0SNFoVCUl7T+ll5SUqKamJuljampqenX8kiVLVFdXl/jav3+/PYOHrWiHD3ijDb8TzePIuwumoORw+b7qKicnRzk5dBb1OtrhI+x6mkkxsjRt2z3aXTrb0WUsu5vHkXcXTEHK4XJ0RqeoqEjZ2dmqrW1/wdTW1qq0tDTpY0pLS3t1PPyBdvjwOqc/vXqlDb+dzePieXcdZ2sbm1q0esM7er+q62ApKLMFQeSFmUc7OTqjM2DAAF144YWqrKzUvHnzJLUmI1dWVmrhwoVJHzN16lRVVlbqjjvuSNz30ksvaerUqU4OFQ6Lt8PvbvmKdvhwSyY+vXqlDb9dzeNSzbsbXV7cqZw+SLMFQeOVmUc7Od5HZ9GiRfrFL36hJ598Utu3b9dtt92m48eP66abbpIk3XDDDVqyZEni+Ntvv10vvviifvCDH+i9997Td7/7Xb311ltdBkbwh3g7/O7QDh9uyNSnV6+04bdrD7h08+6CNlsQNF6ZebST44HONddco+XLl+vee+/VxIkTtWXLFr344ouJhON9+/apuro6cfyll16q3/zmN/r5z3+uCRMm6I9//KNWrVpFD50AiLfD77jRYV5uDqXlcEUmK5DiMymdf1IrI0sNkYqMtOG3o3lcOnl3VHx5n1dmHu2UkWTkhQsXdjkjs2bNmk73XX311br66qsdHhXcQDt8/3K794sT4p9eu9L202tftxDxWhv+vjaPSyfvLpO/b6THKzOPdvJ91RX8J94OH/4R1JyKdD69xoxJO1CPz6R0/F02Rsq1dtyDGf9d9mUPuHTy7uyaLQhi0O0VQdwAlEAH6KOgv+i27aLbVjynws9ddHv76dWOUuqgtOGP59111+28Y96dHbMFQQ26vcJrM492yMimnkBQud3l1mlBzqmwTFSWiaqp/5Akn1tbtc2b6Uspdafv+/FMyj8rPq+qMy7z1ZtGW73Nu+trnhKJzJkRtA1AmdEB0hTkmY64oOZUJJsVMFLSfZ/WjntQUWWlXUoddL3Ju+vLbEEQy569LCgzjxKBDpCWIL/otl2KK2zo/s09zk8VGF0FqB21zZup+vBIyqXUYcw/603eXbp5SkENur2sLzlcXkKgA6QhqC+6yWY6UuGXCozuA9TW0Ke5/1A9P+lxHWizpMQWJvZKZ7YgiGXPyAwCHSANQXzR7WqmI34r2YKM3yoweg5QpdyTRyUru92bLluY2K+3swVBLHtGZpCMDKQhaC+6Pc10SJ0XevxYgZFugBovpe4OW5g4y0sNF+EvBDpAGoL2ottz2/fOMzp+rMBIN0BlCxP32bV1BcKHQAdIQ9BedFOd6dh49iL9ZeLP9Mcpq/TL/7PJV0GO1LcAlS1M3Be0smdkBjk6QJq81uW2L1Kd6dhfdLmvkqs76mszNLYwcV+Qyp6RGQQ6QB8E5UU3iG3fu9LXAJUtTNwXlLJnZAaBDtBHQXjRDWLb9+4EJUAF0DMCHcDjMrWXVpCW4lIRhADVKUHfvw3hQqADeFimNzBkpgNsmomgIdABPMqtvbTCONPBDEarMOzfxnMdPgQ6gAcFeS8tr2EGo1UY/ub88FwTiNmPPjqAB/XcwO/0XlpIX3wGI6/DthDxGYzR1atdGlnmBf1vzg/P9ejq1brplUn6woZ5mr3lq/rChnm66ZVJnhibnxHoAB4UxL20vKanGQxJmrbtHlkmmvGxuSHIf3N+eK79EIj5FYEO4EFB20vLi4I+g9FbQf6b8/pz7YdAzM8IdAAPCtpeWl4U5BmMdAT5b87rz7XXAzG/I9ABPMjtvbQsE1XF4XU6t+oZVRxeF8hPkkGewUiH239zTvL6c+31QMzvCHQAj3JrA8OwJEQGeQYjXUHdNNPrz7XXAzG/o7wc8LBMN/ALQx+VuLBte5GqIDaN9PpzHaa95tzAjA7gcfEGfv+s+LyqzrjM0eWqsCVEBnUGo68y9TeXSV5+roO8bOgFzOgAkHQ6IbIrbRMig9Q5OYgzGEjOy8912PaayyQCHQCSwp0QGcZtL8LKy8+1lwMxPyPQASCJhEjAC7wciPkVgQ4ASSREwlns4QS3EOgAkOT9yhT4lx820+wrAjnvItABkEBCJOwWhpYFYQjk/IxAB0A7JETCLj21LDCyNG3bPdpdOtu3f19hCOT8jkAHQCckRMIOQW9ZEIZALghoGAgAIeDG/mVBb1nAZpz+wIwOAAScWzkkQW9ZEPRALiiY0QGAAIvnkOR1WEKK55A4uVmr1zfT7KugB3JBQaADAAHl9v5lQd/DKeiBXFAQ6ABAQHkhh8TLm2n2VdADuaAgRwcAAsorOSRBbllA7ynvI9ABgIDyUg5JkFsWBDmQCwICHQAIKPYvc17HrR/eL7+KAMdjCHQAIKDYv8xZbP3gDyQjA0CABTkZ2E1ulu2jd5jRAYCAI4fEXmz94C8EOgAQAkFOBs60oO/hFTQsXQEA0AteKdtHapjRARA4HSthWKaBnbxUto+eEegACJTeVMIQECEdlO37C4EOgMCIV8Kow5tPvBKmbZURpcFIF2X7/kKODoBA6M0GlpQGo68o2/cPZnQABEKqlTAVh9dRGgxbULbvDwQ6AAIh1QqXTxxeR2kwbEPZvvcR6ADwjL4kB6dc4dI5dzQpSoOBYCDQAeAJfU0OTrUSZn/RZZq864c9fj9Kg4FgIBkZgOvsSA6OV8JInbNv2lbCHDjjMjVEypNk6Jw+tiFS4bvSYMtEVXF4nc6tekYVh9fJMlG3hwR4AoEOAFf1plqqJ6lUwqQaEPkpoXR09Wrd9MokfWHDPM3e8lV9YcM83fTKJKrHALF0BcBldu8blEolTDwg6rhU1hgp19pxD/qqNLg3vYOAMCLQAeAqJ/YNSqUSJgilweyiDfSMQAeAq9zcN8jvpcHsog30jBwdAK6KV0sFLTk4E9hFG+gZgQ4AVwUxOThT2EUb6BmBDgDXsW9QepgNA3pGjg4ATwhCcnCmsYs20DNHZ3SOHDmi66+/Xvn5+RoyZIi+/OUvq7GxsdvHTJ8+XZZltfu69dZbnRwmAI+IJwf/s+LzqjrjMt6gU8BsGNA9R2d0rr/+elVXV+ull17SyZMnddNNN+mWW27Rb37zm24ft2DBAj3wwAOJ2wMHDnRymACS6Mu+U8gsZsOArjkW6Gzfvl0vvvii3nzzTV100UWSpJ/85Ce68sortXz5cpWXl3f52IEDB6q0tDSln9PS0qKWlpbE7fr6+r4NHECf951C5vm9VB5wimNLV+vXr9eQIUMSQY4kzZw5U1lZWdq4cWO3j3366adVVFSk888/X0uWLNFHH33U5bFLly5VQUFB4mv48OG2nQMQRnbsOwUAXuHYjE5NTY2Ki4vb/7B+/VRYWKiampouH/fFL35RI0aMUHl5ud555x1961vf0o4dO/TMM88kPX7JkiVatGhR4nZ9fT3BDpAmOu0ibFiiDb5eBzqLFy/Www8/3O0x27dvT3tAt9xyS+Lf48ePV1lZmWbMmKFdu3Zp9OjRnY7PyclRTk5O2j8PwGl02kWYsEQbDr0OdO68807deOON3R4zatQolZaW6uDBg+3uP3XqlI4cOZJy/o0kTZ48WZK0c+fOpIEOAPvQaRdhwWao4dHrQGfYsGEaNmxYj8dNnTpVx44d06ZNm3ThhRdKkl555RXFYrFE8JKKLVu2SJLKysq6PxBAn9FpF2HAEm24OJaM/MlPflJXXHGFFixYoDfeeEPr1q3TwoULde211yYqrqqqqjR27Fi98cYbkqRdu3bpe9/7njZt2qT//d//1Z///GfdcMMNuvzyy3XBBRc4NVQAH6PTLsIgvkSb/K+8/RIt/M/RhoFPP/20xo4dqxkzZujKK6/Upz/9af385z9P/P/Jkye1Y8eORFXVgAED9PLLL+uzn/2sxo4dqzvvvFP/+q//qv/5n/9xcpgAPsa+UwgDlmjDxdGGgYWFhd02BzzrrLNkzOn10eHDh2vt2rVODglAD+KddjsmaTZGyrV23IPkLcD3WKINF/a6AtAJnXYRZPEl2rzm6nb7g8UZWWqMlLNEGxAEOgCS6k2nXXqRwE/YDDVcCHQA9Am9SOBHLNGGB4EOgLTRiwR+xhJtOBDoAEgLvUgQBGyGGnyOlpcDCC56kQDwAwIdAGmhFwkAPyDQAZAWepEA8AMCHQBpYbsIAH5AoAMgLWwXAcAPCHQApC3ei6QxUtbu/sZIOaXlADyB8nIAfUIvEgBeRqADoM/oRQLAq1i6AgAAgUWgAwAAAotABwAABBaBDgAACCwCHQAAEFgEOgAAILAIdAAAQGAR6AAAgMCiYSAAQJaJ0t0agUSgAwAhN7p6taZt+7YGNx9I3NcQKdfacQ+xXxl8j6UrAAix0dWrNWfzzcprE+RIUl5zteZsvlmjq1e7NDLAHgQ6ABBwlomq4vA6nVv1jCoOr5Nloon7p237tiQjq+NjZCRJ07bdkzge8COWrgAgwLpblmoeMLTd/R1ZMhrcXKXyIxvYtBW+xYwOAARUT8tSo2r+ktL3GdRc68TwgIwg0AGAAEplWWps1Z9S+l7HIyX2Dg7IIAIdAAig8iMbNLj5QKcgJ86S0cCTh/TRgDOShEKtjCw1RCp0oHCKcwMFHEagAwABlOpy03vlX5DUed4nfnvtuAfppwNfI9ABgA66qlLyk1SXm3aXztbzk55QY6Ss3f2NkXI9P+kJ+ujA96i6AoA2gtI870DhFDVEypXXXJ3IyWnLyFJjpDzRAXl36WzXOyPTnRlOINABgI/Fq5TUITCIVyn5aYbDWNlaO+4hzdl8s4ysdsFOsmUpY2W7WkIelAAT3sPSFQAomM3zdpXN9cWyFN2Z4SRmdABAp6uUuuLX5nm7yuZ6YlmqKz0FmEaWpm27R7tLZ3tmzPAXAh0AUOpVSn5snuf2slR3ghpgwjtYugIApV6lRPM8ewU5wIQ3EOgAgE5XKdE8L7MIMOE0Ah0A0OkqJYnmeZlEgAmnEegAwMf8UqUUJASYcBrJyADQht1VSjTB61k8wOzYR6cxUq614x4kwESfEOgAQAd2VSnRBC91Xi+Dh38R6ACAA4LUZTlTvFwGD/8iRwcAbBbELsuAXxHoAIDN4k3wktcRtW+CB8BZBDoAYDOa4AHeQaADADajCR7gHQQ6AGAzmuAB3kGgAyBllomq4vA6nVv1jCoOryOZtgs0wQO8g/JyACmhJ0zv0AQP8AYCHQA9oidMemiCB7iPQAdAt3rqCWNkadq2e7S7dDZv4EnQBA9wFzk6ALpFTxgAfkagA6Bb9IQB4GcsXQHoll96wrBLOIBkCHQAdCveEyavuTqxT1NbRpYaI+Wu9oShIgxAV1i6AtAtr/eEiVeE5bUJcqTTFWGjq1e7Mi4A3kCgA6BH8Z4wjZGydvc3RspdLS1nl3AAPWHpCkBKvNgTJl4R1pW2FWGUeAPhRKADIGVe6wlDRRiAnrB0BcC3/FIRBsA9BDoAfItdwgH0hEAHgG95vSIMgPscC3QeeughXXrppRo4cKCGDBmS0mOMMbr33ntVVlam3NxczZw5U++//75TQwQQAF6tCAPgDY4lI584cUJXX321pk6dqv/6r/9K6THLli3Tj3/8Yz355JMaOXKkvvOd72jWrFnatm2bIpGIU0MF4HNerAgD4A2OBTr333+/JGnlypUpHW+M0aOPPqp77rlHV111lSTpqaeeUklJiVatWqVrr7026eNaWlrU0tKSuF1XVydJaj7e0IfRA/CjXTnjpZzxrTeOH3d3MAB6Jf6+bUznDux94Zny8j179qimpkYzZ85M3FdQUKDJkydr/fr1XQY6S5cuTQRVbX33c6McGysAAHDG4cOHVVBQYNv380ygU1NTI0kqKWlfBlpSUpL4v2SWLFmiRYsWJW4fO3ZMI0aM0L59+2z9RXldfX29hg8frv379ys/P9/t4WQM5815hwHnzXmHQV1dnc4880wVFhba+n17FegsXrxYDz/8cLfHbN++XWPHju3ToHojJydHOTk5ne4vKCgI1R9IXH5+PucdIpx3uHDe4RLW887KsrdOqleBzp133qkbb7yx22NGjUpvyai0tFSSVFtbq7Ky09UTtbW1mjhxYlrfEwAAhFuvAp1hw4Zp2LBhjgxk5MiRKi0tVWVlZSKwqa+v18aNG3Xbbbc58jMBAECwOdZHZ9++fdqyZYv27dunaDSqLVu2aMuWLWpsbEwcM3bsWD377LOSJMuydMcdd+jBBx/Un//8Z23dulU33HCDysvLNW/evJR/bk5Oju67776ky1lBxnlz3mHAeXPeYcB523velrG7jutjN954o5588slO97/66quaPn166w+3LP3yl79MLIcZY3Tffffp5z//uY4dO6ZPf/rT+ulPf6pzzz3XiSECAICAcyzQAQAAcBt7XQEAgMAi0AEAAIFFoAMAAAKLQAcAAARWIAKdhx56SJdeeqkGDhyoIUOGpPSYG2+8UZZltfu64oornB2ozdI5b2OM7r33XpWVlSk3N1czZ87U+++/7+xAbXbkyBFdf/31ys/P15AhQ/TlL3+5XduCZKZPn97p+b711lszNOL0PPbYYzrrrLMUiUQ0efJkvfHGG90e/4c//EFjx45VJBLR+PHj9cILL2RopPbqzXmvXLmy0/MaiUQyOFp7vPbaa/rc5z6n8vJyWZalVatW9fiYNWvWaNKkScrJydHZZ5+d8gbKXtLb816zZk2n59uyrG63CfKapUuX6uKLL9bgwYNVXFysefPmaceOHT0+zu/Xdzrnbdf1HYhA58SJE7r66qt73VjwiiuuUHV1deLrt7/9rUMjdEY6571s2TL9+Mc/1ooVK7Rx40YNGjRIs2bNUnNzs4Mjtdf111+vd999Vy+99JJWr16t1157TbfcckuPj1uwYEG753vZsmUZGG16fve732nRokW67777tHnzZk2YMEGzZs3SwYMHkx7/t7/9Tdddd52+/OUv6+2339a8efM0b948/eMf/8jwyPumt+cttbbJb/u87t27N4Mjtsfx48c1YcIEPfbYYykdv2fPHs2ZM0ef+cxntGXLFt1xxx36yle+or/+9a8Oj9RevT3vuB07drR7zouLix0aof3Wrl2rr33ta9qwYYNeeuklnTx5Up/97Gd1/PjxLh8ThOs7nfOWbLq+TYD88pe/NAUFBSkdO3/+fHPVVVc5Op5MSfW8Y7GYKS0tNd///vcT9x07dszk5OSY3/72tw6O0D7btm0zksybb76ZuO8vf/mLsSzLVFVVdfm4adOmmdtvvz0DI7THJZdcYr72ta8lbkejUVNeXm6WLl2a9Ph/+7d/M3PmzGl33+TJk81Xv/pVR8dpt96ed2+ueb+QZJ599tluj7n77rvNeeed1+6+a665xsyaNcvBkTkrlfN+9dVXjSRz9OjRjIwpEw4ePGgkmbVr13Z5TFCu77ZSOW+7ru9AzOika82aNSouLtaYMWN022236fDhw24PyVF79uxRTU2NZs6cmbivoKBAkydP1vr1610cWerWr1+vIUOG6KKLLkrcN3PmTGVlZWnjxo3dPvbpp59WUVGRzj//fC1ZskQfffSR08NNy4kTJ7Rp06Z2z1NWVpZmzpzZ5fO0fv36dsdL0qxZs3zzvErpnbckNTY2asSIERo+fLiuuuoqvfvuu5kYrquC8Hz3xcSJE1VWVqZ/+Zd/0bp169weTp/U1dVJUrc7dgfx+U7lvCV7ru/QBjpXXHGFnnrqKVVWVurhhx/W2rVrNXv2bEWjUbeH5pj4OnZJSUm7+0tKSnyzxl1TU9Npmrpfv34qLCzs9hy++MUv6te//rVeffVVLVmyRL/61a/07//+704PNy2HDh1SNBrt1fNUU1Pj6+dVSu+8x4wZoyeeeELPPfecfv3rXysWi+nSSy/VBx98kIkhu6ar57u+vl5NTU0ujcp5ZWVlWrFihf70pz/pT3/6k4YPH67p06dr8+bNbg8tLbFYTHfccYcuu+wynX/++V0eF4Tru61Uz9uu67tXm3pm0uLFi/Xwww93e8z27ds1duzYtL7/tddem/j3+PHjdcEFF2j06NFas2aNZsyYkdb3tIPT5+1VqZ53utrm8IwfP15lZWWaMWOGdu3apdGjR6f9feGuqVOnaurUqYnbl156qT75yU/qZz/7mb73ve+5ODI4YcyYMRozZkzi9qWXXqpdu3bpkUce0a9+9SsXR5aer33ta/rHP/6h119/3e2hZFSq523X9e3ZQOfOO+9M7IHVlVGjRtn280aNGqWioiLt3LnT1UDHyfMuLS2VJNXW1qqsrCxxf21tbWLHeLeket6lpaWdElNPnTqlI0eOJM4vFZMnT5Yk7dy503OBTlFRkbKzs1VbW9vu/tra2i7PsbS0tFfHe1E6591R//799alPfUo7d+50Yoie0dXznZ+fr9zcXJdG5Y5LLrnEl4HCwoULE8UUn/jEJ7o9NgjXd1xvzrujdK9vzwY6w4YN07BhwzL28z744AMdPny4XQDgBifPe+TIkSotLVVlZWUisKmvr9fGjRt7XbFmt1TPe+rUqTp27Jg2bdqkCy+8UJL0yiuvKBaLJYKXVGzZskWSXH++kxkwYIAuvPBCVVZWat68eZJap3orKyu1cOHCpI+ZOnWqKisrdccddyTue+mll9p9GvK6dM67o2g0qq1bt+rKK690cKTumzp1aqfyYr8933bZsmWLJ6/jrhhj9PWvf13PPvus1qxZo5EjR/b4mCBc3+mcd0dpX999Tmf2gL1795q3337b3H///SYvL8+8/fbb5u233zYNDQ2JY8aMGWOeeeYZY4wxDQ0N5q677jLr1683e/bsMS+//LKZNGmSOeecc0xzc7Nbp9FrvT1vY4z5j//4DzNkyBDz3HPPmXfeecdcddVVZuTIkaapqcmNU0jLFVdcYT71qU+ZjRs3mtdff92cc8455rrrrkv8/wcffGDGjBljNm7caIwxZufOneaBBx4wb731ltmzZ4957rnnzKhRo8zll1/u1in06L//+79NTk6OWblypdm2bZu55ZZbzJAhQ0xNTY0xxpgvfelLZvHixYnj161bZ/r162eWL19utm/fbu677z7Tv39/s3XrVrdOIS29Pe/777/f/PWvfzW7du0ymzZtMtdee62JRCLm3XffdesU0tLQ0JC4fiWZH/7wh+btt982e/fuNcYYs3jxYvOlL30pcfzu3bvNwIEDzTe/+U2zfft289hjj5ns7Gzz4osvunUKaenteT/yyCNm1apV5v333zdbt241t99+u8nKyjIvv/yyW6fQa7fddpspKCgwa9asMdXV1Ymvjz76KHFMEK/vdM7brus7EIHO/PnzjaROX6+++mriGEnml7/8pTHGmI8++sh89rOfNcOGDTP9+/c3I0aMMAsWLEi8mPpFb8/bmNYS8+985zumpKTE5OTkmBkzZpgdO3ZkfvB9cPjwYXPdddeZvLw8k5+fb2666aZ2wd2ePXva/R727dtnLr/8clNYWGhycnLM2Wefbb75zW+auro6l84gNT/5yU/MmWeeaQYMGGAuueQSs2HDhsT/TZs2zcyfP7/d8b///e/NueeeawYMGGDOO+888/zzz2d4xPbozXnfcccdiWNLSkrMlVdeaTZv3uzCqPsmXjbd8St+rvPnzzfTpk3r9JiJEyeaAQMGmFGjRrW7zv2it+f98MMPm9GjR5tIJGIKCwvN9OnTzSuvvOLO4NOU7Hw7vk4H8fpO57ztur6tjwcAAAAQOKEtLwcAAMFHoAMAAAKLQAcAAAQWgQ4AAAgsAh0AABBYBDoAACCwCHQAAEBgEegAAIDAItABAACBRaADAAACi0AHAAAE1v8PvdUKUxc3aLEAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"\n",
    "min_samples_leaf\n",
    "\"\"\"\n",
    "dt_clf4=DecisionTreeClassifier(min_samples_leaf=6)#对于一个叶子节点来说，至少要有几个样本，如果选1就过拟合了\n",
    "dt_clf4.fit(X,y)\n",
    "plot_decision_boundary(dt_clf4,axis=[-1.5,2.5,-1.0,1.5])\n",
    "plt.scatter(X[y==0,0],X[y==0,1])\n",
    "plt.scatter(X[y==1,0],X[y==1,1])\n",
    "plt.show()\n"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 640x480 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"max_leaf_nodes:最多有几个叶子节点\"\"\"\n",
    "dt_clf5=DecisionTreeClassifier(max_leaf_nodes=4)\n",
    "dt_clf5.fit(X,y)\n",
    "plot_decision_boundary(dt_clf5,axis=[-1.5,2.5,-1.0,1.5])\n",
    "plt.scatter(X[y==0,0],X[y==0,1])\n",
    "plt.scatter(X[y==1,0],X[y==1,1])\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": [
    "\"\"\"可以使用网格搜索，选取最合适的参数\"\"\""
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.7"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}
